package org.example.controller;

import org.example.bean.Menu;
import org.example.service.Impl.MenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @author 邹斌
 * @create 2024/3/21
 */

//如果一个控制器中的所有方法都是返回json格式，只需要将当前控制器修饰成@RestController
//@RestController  当前控制器中所有的方法必须返回是json
@Controller
public class MenuController {

    @Autowired
    MenuService menuService;

    @RequestMapping("/reg.do")
    public String reg(Menu menu){
        menuService.reg(menu);
        return "/pages/ok";
    }


    /**
     * SpringMVC中JSON数据直接通过注解进行配置，将数据通过控制器方式直接返回就可以
     * @ResponseBody
     * */
    @RequestMapping("/queryall.do")
    @ResponseBody   //1、修饰当前方法返回类型为JSON
    public List<Menu> getAll(){  //2、将需要转换成json格式的对象直接返回
       List<Menu> list =  menuService.getAll();
        System.out.println("打印MENU表");
       return list;
    }
    @RequestMapping("/update.do")
    public String add(
            @RequestParam("id") int id, @RequestParam("name") String name, @RequestParam("address") String address
    ){
        Menu menu=new Menu();
        menu.setId(id);
        menu.setName(name);
        menu.setAddress(address);
        menuService.update(menu);
        return "菜单管理";
    }
}
